18 research outputs found
Quantum Software Testing
This article introduces some ideas and challenges related to the testing of quantum programs. In particular, it approaches functional testing, white
box testing (specially mutation) and model-based testin
Enseñanza de la mutación en pruebas de software
La mutación es una técnica de prueba de software
desarrollada por investigadores y que,
habitualmente, se ha utilizado casi de forma
exclusiva con propósitos de investigación. Unos
treinta y cinco años después de haber sido
propuesta, la técnica está hoy suficientemente
madura como para ser transferida a la industria y,
también, para comenzar a ser introducida en la
enseñanza reglada. Desde hace unos años venimos
impartiendo mutación en la asignatura “Pruebas y
seguridad de sistemas de información”, del Máster
Oficial en Tecnologías Informáticas Avanzadas de
nuestra universidad, que cuenta con mención de
calidad de la ANECA.
Lo cierto es que, mientras no introdujimos una
metáfora, en la que se comparan los mutantes con
faltas de ortografía, y los test suites con revisores
ortotipográficos, la mutación era difícil de
entender por parte de los alumnos o, tal vez,
éramos los profesores los que no la explicábamos
suficientemente bien.
En este trabajo describimos la metáfora que
tan buenos resultados nos ha dado, así como
algunos de los otros contenidos que impartimos,
relacionados principalmente con la aplicación de
la técnica y diversas estrategias para reducción de
costes. Utilizamos una herramienta que hemos
desarrollado y que se encuentra disponible
libremente para su uso en universidades.SUMMARY - Mutation is a software testing technique
developed by researchers and usually only applied
in research. Around 35 years after its proposal, the
technique is today ready for both its transference
to industry as for its inclusion in the syllabus of
Computer Science. We teach mutation in “Testing
and security of information systems”, inside our
quality-certified PhD program.The first years we taught mutation, students
took too much time in understanding the basic
idea of mutation. In some moment, we introduced
a metaphor (which compares the artificial faults
inserted in programs with text typos, and test
suites with typographic correctors) to describe
mutation, obtaining excellent results in our
explanations (maybe they had not been good
enough until that moment) and in their
comprehension.
This work describes the metaphor that so good
results has given us, as well as the remaining
contents taught. These are mainly related to the
application of the technique and to several
strategies for cost reduction. We use a tool we
have developed and that is freely available for
universities.Peer Reviewe
Considerations upon interoperability on pervasive computing environments
Component-based Development is a challenging paradigm, though Pervasive Computing Environments, as a special case of such systems, carry even more complications.
Applications must be kept available for users anytime, anywhere no matter the user location. This implies transparency on interconnection of components at run-time.
Since components may not be previously evaluated when a user’s context change happen, integration of new components might blur the actual requirements of that system.
This implies to consider Interoperability at different levels. This paper reports on those challenges, also discussing the possibility to improve the description of an approach under a formal basis. Thus solution strategies can be better defined and applied.Eje: Ingeniería en SoftwareRed de Universidades con Carreras en Informática (RedUNCI
Using metamodels and workflows in a software maintenance environment
The objective of Software Engineering Environments (SEE) is to allow the integrated and automatic management and control of a specific process or group of processes of the software (ISO/IEC, 2000). In broader terms, the MANTIS project aims to define and construct an integral environment for the management of Software Maintenance Process (SMP). Due to the large number of different aspects that have to be considered, we have defined an architecture with 4 conceptual levels. Each of these levels incorporates concepts at a specific level of abstraction and generality. We present a proposal of a metamodel for the SMP based on the ontology formulated by Kitchenham et al.(1999) and in the Workflow Reference Model of the Workflow Management Coalition (WFMC, 1995). In so doing our aim is to incorporate in the said ontology, the aspects of process enaction that the workflow technology resolves in what we consider to be a satisfactory fashion.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI
Using metamodels and workflows in a software maintenance environment
The objective of Software Engineering Environments (SEE) is to allow the integrated and automatic management and control of a specific process or group of processes of the software (ISO/IEC, 2000). In broader terms, the MANTIS project aims to define and construct an integral environment for the management of Software Maintenance Process (SMP). Due to the large number of different aspects that have to be considered, we have defined an architecture with 4 conceptual levels. Each of these levels incorporates concepts at a specific level of abstraction and generality. We present a proposal of a metamodel for the SMP based on the ontology formulated by Kitchenham et al.(1999) and in the Workflow Reference Model of the Workflow Management Coalition (WFMC, 1995). In so doing our aim is to incorporate in the said ontology, the aspects of process enaction that the workflow technology resolves in what we consider to be a satisfactory fashion.Eje: Ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI
Considerations upon interoperability on pervasive computing environments
Component-based Development is a challenging paradigm, though Pervasive Computing Environments, as a special case of such systems, carry even more complications.
Applications must be kept available for users anytime, anywhere no matter the user location. This implies transparency on interconnection of components at run-time.
Since components may not be previously evaluated when a user’s context change happen, integration of new components might blur the actual requirements of that system.
This implies to consider Interoperability at different levels. This paper reports on those challenges, also discussing the possibility to improve the description of an approach under a formal basis. Thus solution strategies can be better defined and applied.Eje: Ingeniería en SoftwareRed de Universidades con Carreras en Informática (RedUNCI
Utilización de SWEBOK y PMBOK para la organización de contenidos en la Esc. Sup. de Informática de la UCLM
Diversos organismos y asociaciones internacionales han elaborado en los últimos años propuestas de “Cuerpos de conocimiento” en materias relacionadas con los estudios de Informática. A continuación presentamos una propuesta de aplicación de SWEBOK (para ingeniería del software) y PMBOK (para gestión de proyectos) en los contenidos de los planes de estudios impartidos en la Escuela Superior de Informática (ESI) de la Universidad de Castilla-La Mancha (UCLM)
Curso sobre Mantenimiento de Software: experiencia y propuestas
Presentamos una experiencia de Curso sobre Mantenimiento del Software (MS) que ha sido impartido en la Escuela Superior de Informática de la Universidad de Castilla-La Mancha (UCLM) durante los dos últimos años. El Curso está organizado como enseñanzas propias de la UCLM. Tiene orientación eminentemente profesional y es complementario a lo formación reglada
Reparto de la carga de trabajo en la realización de prácticas en grupo mediante una herramienta de estimación
En la calificación final de muchas asignaturas se pondera, junto a la nota del examen final o de los posibles parciales, la realización de un trabajo práctico, que a veces puede realizarse en grupo. Es deseable que, en estos casos, los diferentes alumnos que realizan el trabajo dispongan de algún método que les permita realizar, a priori, un reparto lo más equitativo posible, de manera que cada uno realizara un esfuerzo aproximadamente similar al del resto de compañeros. En este artículo se presenta una herramienta que, con el fin mencionado, hemos empezado a utilizar este año en Ingeniería del Software II, de quinto curso. La herramienta realiza una estimación del tamaño en puntos-función de un sistema orientado a objetos utilizando el método de Antoniol et al. [2]. Un beneficio añadido del uso de la herramienta es la percepción, por parte de los alumnos, de la utilidad de las métricas de software, que habitualmente son simplemente mencionadas en las clases de teoría
Una herramienta para la enseñanza de patrones en Ingeniería del Software
Se presenta una herramienta que genera una aplicación totalmente ejecutable a partir de un diagrama de clases dibujado con Rational Rose. La herramienta considera el diagrama como la estructura de la capa de Dominio de un sistema de tres capas. A partir de esta idea, la herramienta genera las capas adyacentes (Presentación y Almacenamiento), dándole ciertas funcionalidades suministradas por un conjunto de patrones de diseño